Storage access systems require a communication fabric and protocol between the devices that initiate a storage access request (e.g., to read/write data) and the targeted storage device. As an example, the original Small Computer System Interface (SCSI) standard was developed in 1981 to provide a common interface that could be used across all peripheral platforms and system applications, such as Redundant Array of Independent Disks (RAID) storage. Since that time, there have been numerous generations of the parallel SCSI protocol. Each generation doubled the bandwidth of the previous one, primarily by doubling the bus clock frequency. But as the bus frequency was increased with each new generation, so did the negative impact of bus contention, signal degradation, and signal skew—slight signal delays from one wire trace to the next. After the development of Ultra320 SCSI with a bandwidth of 320 MB/s per channel, further bandwidth improvements to parallel SCSI could not occur without developing new and expensive technologies.
In 2001, the Serial Attached SCSI Working Group was founded to define the rules for exchanging information between SCSI devices using a serial attached SCSI (SAS) interconnect. SAS was later transferred to the InterNational Committee for Information Technology Standards (INCITS) T10 to become an American (ANSI) and international (ISO/IEC) standard. SAS inherits its command set from parallel SCSI, frame formats and full duplex communication from Fibre Channel, and it uses the SATA interface for compatibility and investment protection. The SAS architecture solves the parallel SCSI problems of bus contention, clock skew, and signal degradation at higher signaling rates, thereby providing performance headroom to meet enterprise storage needs for years to come. In an SAS topology, the number of devices (initiators, targets, and expanders) allowed in a given domain is limited only by the size of the expander routing tables. In a SAS fabric, faulty PHYs periodically manifest themselves.